home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / sendun1a / commctrl.bas < prev    next >
BASIC Source File  |  1999-10-20  |  21KB  |  579 lines

  1. Attribute VB_Name = "CommCtrl"
  2. Option Explicit
  3.  
  4. Type RECT
  5.     left As Long
  6.     top As Long
  7.     Right As Long
  8.     Bottom As Long
  9. End Type
  10.  
  11. Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
  12. Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
  13. Declare Function GetCurrentThreadId Lib "KERNEL32" () As Long
  14. Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
  15. Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  16. Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
  17.  
  18. Const GWL_HINSTANCE = (-6)
  19. Const SWP_NOSIZE = &H1
  20. Const SWP_NOZORDER = &H4
  21. Const SWP_NOACTIVATE = &H10
  22. Const HCBT_ACTIVATE = 5
  23. Const WH_CBT = 5
  24.  
  25. Dim hHook As Long
  26.  
  27. Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
  28. Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
  29. Declare Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA" (pChoosecolor As CHOOSECOLORS) As Long
  30. Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long
  31. Declare Function GetShortPathName Lib "KERNEL32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
  32. Declare Function ChooseFont Lib "comdlg32.dll" Alias "ChooseFontA" (pChoosefont As CHOOSEFONTS) As Long
  33. Declare Function PrintDlg Lib "comdlg32.dll" Alias "PrintDlgA" (pPrintdlg As PRINTDLGS) As Long
  34.  
  35. Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
  36. Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDC As Long) As Long
  37.  
  38. Public Const OFN_ALLOWMULTISELECT = &H200
  39. Public Const OFN_CREATEPROMPT = &H2000
  40. Public Const OFN_ENABLEHOOK = &H20
  41. Public Const OFN_ENABLETEMPLATE = &H40
  42. Public Const OFN_ENABLETEMPLATEHANDLE = &H80
  43. Public Const OFN_EXPLORER = &H80000
  44. Public Const OFN_EXTENSIONDIFFERENT = &H400
  45. Public Const OFN_FILEMUSTEXIST = &H1000
  46. Public Const OFN_HIDEREADONLY = &H4
  47. Public Const OFN_LONGNAMES = &H200000
  48. Public Const OFN_NOCHANGEDIR = &H8
  49. Public Const OFN_NODEREFERENCELINKS = &H100000
  50. Public Const OFN_NOLONGNAMES = &H40000
  51. Public Const OFN_NONETWORKBUTTON = &H20000
  52. Public Const OFN_NOREADONLYRETURN = &H8000
  53. Public Const OFN_NOTESTFILECREATE = &H10000
  54. Public Const OFN_NOVALIDATE = &H100
  55. Public Const OFN_OVERWRITEPROMPT = &H2
  56. Public Const OFN_PATHMUSTEXIST = &H800
  57. Public Const OFN_READONLY = &H1
  58. Public Const OFN_SHAREAWARE = &H4000
  59. Public Const OFN_SHAREFALLTHROUGH = 2
  60. Public Const OFN_SHAREWARN = 0
  61. Public Const OFN_SHARENOWARN = 1
  62. Public Const OFN_SHOWHELP = &H10
  63. Public Const OFS_MAXPATHNAME = 256
  64.  
  65. Public Const LF_FACESIZE = 32
  66.  
  67. 'OFS_FILE_OPEN_FLAGS and OFS_FILE_SAVE_FLAGS below
  68. 'are mine to save long statements; they're not
  69. 'a standard Win32 type.
  70. Public Const OFS_FILE_OPEN_FLAGS = OFN_EXPLORER Or OFN_LONGNAMES Or OFN_CREATEPROMPT Or OFN_NODEREFERENCELINKS Or OFN_HIDEREADONLY Or OFN_ALLOWMULTISELECT
  71. Public Const OFS_FILE_SAVE_FLAGS = OFN_EXPLORER Or OFN_LONGNAMES Or OFN_OVERWRITEPROMPT Or OFN_HIDEREADONLY
  72.  
  73. Public Type OPENFILENAME
  74.     nStructSize As Long
  75.     hwndOwner As Long
  76.     hInstance As Long
  77.     sFilter As String
  78.     sCustomFilter As String
  79.     nCustFilterSize As Long
  80.     nFilterIndex As Long
  81.     sFile As String
  82.     nFileSize As Long
  83.     sFileTitle As String
  84.     nTitleSize As Long
  85.     sInitDir As String
  86.     sDlgTitle As String
  87.     flags As Long
  88.     nFileOffset As Integer
  89.     nFileExt As Integer
  90.     sDefFileExt As String
  91.     nCustDataSize As Long
  92.     fnHook As Long
  93.     sTemplateName As String
  94. End Type
  95.  
  96. Type NMHDR
  97.     hwndFrom As Long
  98.     idfrom As Long
  99.     code As Long
  100. End Type
  101.  
  102. Type OFNOTIFY
  103.         hdr As NMHDR
  104.         lpOFN As OPENFILENAME
  105.         pszFile As String        '  May be NULL
  106. End Type
  107.  
  108. Type CHOOSECOLORS
  109.     lStructSize As Long
  110.     hwndOwner As Long
  111.     hInstance As Long
  112.     rgbResult As Long
  113.     lpCustColors As String
  114.     flags As Long
  115.     lCustData As Long
  116.     lpfnHook As Long
  117.     lpTemplateName As String
  118. End Type
  119.  
  120. Type LOGFONT
  121.     lfHeight As Long
  122.     lfWidth As Long
  123.     lfEscapement As Long
  124.     lfOrientation As Long
  125.     lfWeight As Long
  126.     lfItalic As Byte
  127.     lfUnderline As Byte
  128.     lfStrikeOut As Byte
  129.     lfCharSet As Byte
  130.     lfOutPrecision As Byte
  131.     lfClipPrecision As Byte
  132.     lfQuality As Byte
  133.     lfPitchAndFamily As Byte
  134.     lfFaceName(LF_FACESIZE) As Byte
  135. End Type
  136.  
  137. Public Type CHOOSEFONTS
  138.     lStructSize As Long
  139.     hwndOwner As Long          '  caller's window handle
  140.     hDC As Long                '  printer DC/IC or NULL
  141.     lpLogFont As Long          '  ptr. to a LOGFONT struct
  142.     iPointSize As Long         '  10 * size in points of selected font
  143.     flags As Long              '  enum. type flags
  144.     rgbColors As Long          '  returned text color
  145.     lCustData As Long          '  data passed to hook fn.
  146.     lpfnHook As Long           '  ptr. to hook function
  147.     lpTemplateName As String     '  custom template name
  148.     hInstance As Long          '  instance handle of.EXE that
  149.     lpszStyle As String          '  return the style field here
  150.     nFontType As Integer          '  same value reported to the EnumFonts
  151.     MISSING_ALIGNMENT As Integer
  152.     nSizeMin As Long           '  minimum pt size allowed &
  153.     nSizeMax As Long           '  max pt size allowed if
  154. End Type
  155.  
  156. Public Const CC_RGBINIT = &H1
  157. Public Const CC_FULLOPEN = &H2
  158. Public Const CC_PREVENTFULLOPEN = &H4
  159. Public Const CC_SHOWHELP = &H8
  160. Public Const CC_ENABLEHOOK = &H10
  161. Public Const CC_ENABLETEMPLATE = &H20
  162. Public Const CC_ENABLETEMPLATEHANDLE = &H40
  163. Public Const CC_SOLIDCOLOR = &H80
  164. Public Const CC_ANYCOLOR = &H100
  165.  
  166. Public Const COLOR_FLAGS = CC_FULLOPEN Or CC_ANYCOLOR Or CC_RGBINIT
  167.  
  168. Public Const CF_SCREENFONTS = &H1
  169. Public Const CF_PRINTERFONTS = &H2
  170. Public Const CF_BOTH = (CF_SCREENFONTS Or CF_PRINTERFONTS)
  171. Public Const CF_SHOWHELP = &H4&
  172. Public Const CF_ENABLEHOOK = &H8&
  173. Public Const CF_ENABLETEMPLATE = &H10&
  174. Public Const CF_ENABLETEMPLATEHANDLE = &H20&
  175. Public Const CF_INITTOLOGFONTSTRUCT = &H40&
  176. Public Const CF_USESTYLE = &H80&
  177. Public Const CF_EFFECTS = &H100&
  178. Public Const CF_APPLY = &H200&
  179. Public Const CF_ANSIONLY = &H400&
  180. Public Const CF_SCRIPTSONLY = CF_ANSIONLY
  181. Public Const CF_NOVECTORFONTS = &H800&
  182. Public Const CF_NOOEMFONTS = CF_NOVECTORFONTS
  183. Public Const CF_NOSIMULATIONS = &H1000&
  184. Public Const CF_LIMITSIZE = &H2000&
  185. Public Const CF_FIXEDPITCHONLY = &H4000&
  186. Public Const CF_WYSIWYG = &H8000 '  must also have CF_SCREENFONTS CF_PRINTERFONTS
  187. Public Const CF_FORCEFONTEXIST = &H10000
  188. Public Const CF_SCALABLEONLY = &H20000
  189. Public Const CF_TTONLY = &H40000
  190. Public Const CF_NOFACESEL = &H80000
  191. Public Const CF_NOSTYLESEL = &H100000
  192. Public Const CF_NOSIZESEL = &H200000
  193. Public Const CF_SELECTSCRIPT = &H400000
  194. Public Const CF_NOSCRIPTSEL = &H800000
  195. Public Const CF_NOVERTFONTS = &H1000000
  196.  
  197. Public Const SIMULATED_FONTTYPE = &H8000
  198. Public Const PRINTER_FONTTYPE = &H4000
  199. Public Const SCREEN_FONTTYPE = &H2000
  200. Public Const BOLD_FONTTYPE = &H100
  201. Public Const ITALIC_FONTTYPE = &H200
  202. Public Const REGULAR_FONTTYPE = &H400
  203.  
  204. Public Const LBSELCHSTRING = "commdlg_LBSelChangedNotify"
  205. Public Const SHAREVISTRING = "commdlg_ShareViolation"
  206. Public Const FILEOKSTRING = "commdlg_FileNameOK"
  207. Public Const COLOROKSTRING = "commdlg_ColorOK"
  208. Public Const SETRGBSTRING = "commdlg_SetRGBColor"
  209. Public Const HELPMSGSTRING = "commdlg_help"
  210. Public Const FINDMSGSTRING = "commdlg_FindReplace"
  211.  
  212. Public Const CD_LBSELNOITEMS = -1
  213. Public Const CD_LBSELCHANGE = 0
  214. Public Const CD_LBSELSUB = 1
  215. Public Const CD_LBSELADD = 2
  216.  
  217. Type PRINTDLGS
  218.         lStructSize As Long
  219.         hwndOwner As Long
  220.         hDevMode As Long
  221.         hDevNames As Long
  222.         hDC As Long
  223.